package com.shujia

object Code20CaseObject {

  def main(args: Array[String]): Unit = {
    /**
     *  case object是将 case class 和 Object的特点进行综合
     *      case class 提供了 重写toString 和 equal方法 等
     *      object 是在全局唯一的
     *
     *  应用场景：
     *      1.用于设置一些配置类对象
     *      2.设定为枚举类 但是要求是对于特质使用 sealed 让其范围在当前文件中
     *
     */

    println(MySqlProperties.url)
    println(MySqlProperties.user)

  }
}
object Obj{
  var value:Int = 0
}

case object MySqlProperties  {
  val url:String = "jdbc:mysql://..."
  val user:String = "root"
}


sealed trait EnumT {
  val value:String
}

case object ReadE extends EnumT {
  override val value: String = "红色"
}
case object BlueE extends EnumT {
  override val value: String = "蓝色"
}